package com.rocky.study.generic;

public class GenericMethodDemo {

    /**
     * 在给定数组中寻找某个元素,这个算法的基本过程与具体数据类型没有什么关系,通过泛型,
     * 它可以方便地应用于各种数据类型,且由编译器保证类型安全。
     * @param arr
     * @param elem
     * @param <T>
     * @return
     */
    public static<T> int indexOf(T[] arr,T elem) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i].equals(elem)) {
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        Integer[] arr = new Integer[]{1,2,3,4,5};
        Integer elem = 5;
        int index = indexOf(arr, elem);
        System.out.println(index);
    }
}
